package com.icinfo.cloud.provider.punish.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseReasonEntrustVo;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Description 案件任务列表视图
 * @Author zhengqiang
 * @Date 2022/6/16 19:17
 **/
@Data
public class CaseMainTaskVo {

    /**
     * 案件id
     */
    private String caseId;

    /**
     * 当事人
     */
    private String partyName;

    /**
     * 案由
     */
    private String caseReason;

    /**
     * 案件类型编码
     */
    private String caseType;

    /**
     * 案件类型名称
     */
    private String caseTypeName;

    /**
     * 程序类型名称
     */
    private String caseProgramTypeName;

    /**
     * 处罚种类
     **/
    private String punishKinds;

    /**
     * 处罚金额
     */
    private String draftPunishMoney;

    /**
     * 处罚说明(简易处罚时使用)
     */
    private String punishDesc;

    /**
     * 案发时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseHappenTime;

    /**
     * 案发地详细地址
     */
    private String caseHappenAddressDetail;

    /**
     * 案件状态 增加 中止 终止
     */
    private String caseStatus;

    /**
     * 截止日/裁决完毕日期提醒描述
     */
    private String remindDesc;

    /**
     * 提醒颜色 red/blue/green
     */
    private String remindColor;

    /**
     * 办案阶段
     */
    private String caseCurrentStageName;
    /****
     * 立案时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseRegistTime;
    /****
     * 办案期限时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate caseTimeLimit;
    /****
     * 裁决完毕日期
     **/
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate caseVerdictEndTime;
    /****
     * 结案日期
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseEndTime;

    /**
     * 处罚结论;1:予以处罚,2:不予处罚
     */
    private String investConclusion;


    /**
     * 是否存在委托事项，false-不存在，true-存在
     */
    private Boolean hadEntrustCase = false;

    /**
     * 委托事项案件原由信息
     */
    List<CaseReasonEntrustVo> entrustReasonList;

}
